// default package
// Generated 28 Jul, 2014 8:04:07 PM by Hibernate Tools 3.4.0.CR1
package com.galaxy.bean;

import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.GeneratedValue;
import static javax.persistence.GenerationType.IDENTITY;
import javax.persistence.Id;
import javax.persistence.JoinColumn;
import javax.persistence.ManyToOne;
import javax.persistence.Table;
import javax.persistence.Temporal;
import javax.persistence.TemporalType;

/**
 * DownloadableLinkPurchasedItem generated by hbm2java
 */
@Entity
@Table(name = "downloadable_link_purchased_item", catalog = "magento")
public class DownloadableLinkPurchasedItem implements java.io.Serializable {

	private Integer itemId;
	private SalesFlatOrderItem salesFlatOrderItem;
	private DownloadableLinkPurchased downloadableLinkPurchased;
	private Integer productId;
	private String linkHash;
	private int numberOfDownloadsBought;
	private int numberOfDownloadsUsed;
	private int linkId;
	private String linkTitle;
	private short isShareable;
	private String linkUrl;
	private String linkFile;
	private String linkType;
	private String status;
	private Date createdAt;
	private Date updatedAt;

	public DownloadableLinkPurchasedItem() {
	}

	public DownloadableLinkPurchasedItem(
			DownloadableLinkPurchased downloadableLinkPurchased,
			int numberOfDownloadsBought, int numberOfDownloadsUsed, int linkId,
			short isShareable, Date createdAt, Date updatedAt) {
		this.downloadableLinkPurchased = downloadableLinkPurchased;
		this.numberOfDownloadsBought = numberOfDownloadsBought;
		this.numberOfDownloadsUsed = numberOfDownloadsUsed;
		this.linkId = linkId;
		this.isShareable = isShareable;
		this.createdAt = createdAt;
		this.updatedAt = updatedAt;
	}

	public DownloadableLinkPurchasedItem(SalesFlatOrderItem salesFlatOrderItem,
			DownloadableLinkPurchased downloadableLinkPurchased,
			Integer productId, String linkHash, int numberOfDownloadsBought,
			int numberOfDownloadsUsed, int linkId, String linkTitle,
			short isShareable, String linkUrl, String linkFile,
			String linkType, String status, Date createdAt, Date updatedAt) {
		this.salesFlatOrderItem = salesFlatOrderItem;
		this.downloadableLinkPurchased = downloadableLinkPurchased;
		this.productId = productId;
		this.linkHash = linkHash;
		this.numberOfDownloadsBought = numberOfDownloadsBought;
		this.numberOfDownloadsUsed = numberOfDownloadsUsed;
		this.linkId = linkId;
		this.linkTitle = linkTitle;
		this.isShareable = isShareable;
		this.linkUrl = linkUrl;
		this.linkFile = linkFile;
		this.linkType = linkType;
		this.status = status;
		this.createdAt = createdAt;
		this.updatedAt = updatedAt;
	}

	@Id
	@GeneratedValue(strategy = IDENTITY)
	@Column(name = "item_id", unique = true, nullable = false)
	public Integer getItemId() {
		return this.itemId;
	}

	public void setItemId(Integer itemId) {
		this.itemId = itemId;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "order_item_id")
	public SalesFlatOrderItem getSalesFlatOrderItem() {
		return this.salesFlatOrderItem;
	}

	public void setSalesFlatOrderItem(SalesFlatOrderItem salesFlatOrderItem) {
		this.salesFlatOrderItem = salesFlatOrderItem;
	}

	@ManyToOne(fetch = FetchType.LAZY)
	@JoinColumn(name = "purchased_id", nullable = false)
	public DownloadableLinkPurchased getDownloadableLinkPurchased() {
		return this.downloadableLinkPurchased;
	}

	public void setDownloadableLinkPurchased(
			DownloadableLinkPurchased downloadableLinkPurchased) {
		this.downloadableLinkPurchased = downloadableLinkPurchased;
	}

	@Column(name = "product_id")
	public Integer getProductId() {
		return this.productId;
	}

	public void setProductId(Integer productId) {
		this.productId = productId;
	}

	@Column(name = "link_hash")
	public String getLinkHash() {
		return this.linkHash;
	}

	public void setLinkHash(String linkHash) {
		this.linkHash = linkHash;
	}

	@Column(name = "number_of_downloads_bought", nullable = false)
	public int getNumberOfDownloadsBought() {
		return this.numberOfDownloadsBought;
	}

	public void setNumberOfDownloadsBought(int numberOfDownloadsBought) {
		this.numberOfDownloadsBought = numberOfDownloadsBought;
	}

	@Column(name = "number_of_downloads_used", nullable = false)
	public int getNumberOfDownloadsUsed() {
		return this.numberOfDownloadsUsed;
	}

	public void setNumberOfDownloadsUsed(int numberOfDownloadsUsed) {
		this.numberOfDownloadsUsed = numberOfDownloadsUsed;
	}

	@Column(name = "link_id", nullable = false)
	public int getLinkId() {
		return this.linkId;
	}

	public void setLinkId(int linkId) {
		this.linkId = linkId;
	}

	@Column(name = "link_title")
	public String getLinkTitle() {
		return this.linkTitle;
	}

	public void setLinkTitle(String linkTitle) {
		this.linkTitle = linkTitle;
	}

	@Column(name = "is_shareable", nullable = false)
	public short getIsShareable() {
		return this.isShareable;
	}

	public void setIsShareable(short isShareable) {
		this.isShareable = isShareable;
	}

	@Column(name = "link_url")
	public String getLinkUrl() {
		return this.linkUrl;
	}

	public void setLinkUrl(String linkUrl) {
		this.linkUrl = linkUrl;
	}

	@Column(name = "link_file")
	public String getLinkFile() {
		return this.linkFile;
	}

	public void setLinkFile(String linkFile) {
		this.linkFile = linkFile;
	}

	@Column(name = "link_type")
	public String getLinkType() {
		return this.linkType;
	}

	public void setLinkType(String linkType) {
		this.linkType = linkType;
	}

	@Column(name = "status", length = 50)
	public String getStatus() {
		return this.status;
	}

	public void setStatus(String status) {
		this.status = status;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "created_at", nullable = false, length = 19)
	public Date getCreatedAt() {
		return this.createdAt;
	}

	public void setCreatedAt(Date createdAt) {
		this.createdAt = createdAt;
	}

	@Temporal(TemporalType.TIMESTAMP)
	@Column(name = "updated_at", nullable = false, length = 19)
	public Date getUpdatedAt() {
		return this.updatedAt;
	}

	public void setUpdatedAt(Date updatedAt) {
		this.updatedAt = updatedAt;
	}

}
